package oop.core.visitors;

import oop.core.entity.Avatar;
import oop.core.item.EquippableItem;
import oop.core.item.OneShotItem;
import oop.core.item.QuestItem;
import oop.core.item.UsableItem;

/**
 * Class to handle using an Item on the avatar
 * @author DangMH
 *
 */
public class UseVisitor
{
	Avatar avatar;
	
	public UseVisitor(Avatar avatar)
	{
		this.avatar = avatar;
	}
	
	public void visitEquippableItem(EquippableItem item)
	{
		if(avatar.equipItem(item))
			avatar.removeItem(item);
	}
	public void visitUsableItem(UsableItem item)
	{
		avatar.useItem(item);
		avatar.removeItem(item);
	}
	public void visitQuestItem(QuestItem item)
	{
		System.out.println("You cannot use quest item :)");
	}
	public void visitOneShotItem(OneShotItem item)
	{
		avatar.useItem(item);
	}
}